feat(client/sse): allow custom fetch implementation #296
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add an optional
fetch
param to SSEClientTransportOptions to allow custom fetch implementation.Motivation and Context
For SSE transport, previously the
eventSourceInit
param allowed to customize thefetch
function used by EventSource. However, thesend
method still use the nativefetch
, which was not customizable. In some use cases, we might want both to use a customfetch
implementation. For example, in Tauri/Capacitor applications , the frontend runs in a webview, and the nativefetch
cannot perform cross-origin requests directly. Therefore, a customfetch
function is needed to bypass CORS.How Has This Been Tested?
npm test
passed. Additionally, I have used the modified transport in AIaW with a customfetch
function to test and verify cross-origin functionality.Breaking Changes
No
Types of changes
Checklist
Additional context